package com.kexuexiong.file.oss;


import com.aliyuncs.auth.sts.AssumeRoleResponse;

import java.io.IOException;
import java.util.List;
import java.util.Map;


/**
 * <p>功能描述</p>
 *
 * @author xy
 * @version 1.0
 * @ClassName OssService.java
 * @date 2021年11月2021/11/30日 10:58
 */
public interface OssService {

    /**
     * 获取sts权限
     * 参考url：
     *
     * @return
     */
    AssumeRoleResponse getSTSToken();

    /**
     * 私有获取文件，需要sts权限控制
     */
    void authorizationGetFile();

    /**
     * oss上传文件
     */
    void uploadFile();

    /**
     * 通过filekey获取oss中的文件
     *
     * @param fileKey
     */
    String authorizationGetFileByFileKey(String fileKey) throws IOException;

    /**
     * 分页获取excel数据
     *
     * @param fileKey
     * @param pageNo
     * @param pageSize
     * @return
     */
    List<Map<String, Object>> getExcelDataListPage(String fileKey, Integer pageNo, Integer pageSize) throws IOException;

    /**
     * 添加uuid并上传文件
     *
     * @param uploadFile
     */
    void uploadFileByFileKey(String uploadFile);

    /**
     * 根据文件路径上传文件
     *
     * @param filePath
     * @param fileKey
     */
    String uploadFileByFilePath(String filePath, String fileKey);
}
